1. Field of the Invention
The present invention relates to a service managing apparatus which distributes service requests to service servers providing services.
2. Description of the Related Art
These days, with the expansion of the Internet, a wide variety of business transactions are conducted on the Internet. Among others, an ASP (Application Service Provider) service that provides users with diversified application services via the Internet was put into practical use.
FIG. 1 shows the outline of the configuration of a system rendering an ASP service.
A plurality of service servers 10 rendering services, which are connected to a service managing server 11 managing the distribution of service requests to the plurality of service servers 10, accept service requests from clients 14. The service managing server 11, which is connected to a Web server 12, accepts service requests from the clients 14 via the Internet 15.
Such a system composed of the Web server 12, the service managing server 11, and the service servers 10 is called a data center 13, and collectively manages application services rendered from various providers.
In recent days, attempts have been made to implement an SLA (Service Level Agreement: an agreement for guaranteeing the quality of a service) that not only distributes accepted service requests to the service servers 10 to render services, but also provides the clients 14 with an application service while guaranteeing the quality of the rendered service under the agreement.
FIGS. 2A and 2B explain a conventional technique of a service managing method using the SLA for a service managing server.
Examples of service qualities guaranteed by the SLA include the response speed of a service server, a fault restoration time, compensation at a fault occurrence, etc. However, the following description is provided by assuming the response speed of a service server to be of a service quality.
As one of conventional methods implementing the SLA, there is a method dividing service servers into groups depending on qualities of rendered services as shown in FIG. 2A. In this case, the service servers are divided into groups such as a group of servers rendering high-quality services, a group of servers rendering general-level services, etc. The groups are respectively configured to render services while maintaining predetermined qualities of the services. The service managing server determines to which group service server a received service request is to be distributed according to the contents of the quality agreement of the service request, and transmits the service request.
In such a case, it is easy to maintain qualities in a unified manner in the respective groups. However, if requests concentrate on any of the levels, a load imbalance among servers increases, and, in consequence, all of the server resources cannot be effectively used. Namely, if a service quality is the response speed of a service server, the service server rendering a high-quality service must quickly respond to a service request from a client. Therefore, the service request must be distributed so as not to impose a heavy load on the high-quality service server. In this way, the high-quality service server can render a high-quality service in all cases, which facilitates the management of a service quality. As described above, however, the service servers are divided into groups depending on service quality levels. Therefore, service requests must be processed within a group even if they concentrate on any of the groups, leading to a load imbalance among the groups, that is, a waste of server resources.
Furthermore, as another conventional method implementing the SLA, there is a method with which all service servers process services of all quality levels as shown in FIG. 2B. In this case, each service server must preferentially process a service request under a high-quality agreement, and accept and process also a request under a general-level agreement at the same time. At this time, a service managing server does not need to learn the contents of the quality agreement of the request, and distributes each request to each service server so as to make the load on each service server even.
Accordingly, each service server must determine whether the request is either a request under a high-quality agreement or a general-level request, and process the request by changing the priority of the process according to a determination result. To implement this, a program composed of complex logic must be installed in the service server.
In such a case, the logic becomes complex and it is difficult to precisely maintain a quality, although all of the server resources can be evenly used and a load distribution can be made with ease. Additionally, if attempts are made to introduce such a method in an ASP service being operated, an individual application service must be drastically remade, which requires enormous amounts of time and cost.
FIG. 13 explains conventional problems.
If a service quality is attempted to be assured under the SLA as described above, the configuration shown in FIG. 2A cannot be adopted, and the configuration shown in FIG. 2A must be adopted. However, as described above, a load imbalance among groups arises, and server resources cannot be used effectively.